﻿/*
    Copyright Rain-Soft co.2009 
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Rmlife.Model
{
    /// <summary>
    /// 单位分组信息表
    /// </summary>
    [Serializable]
    public class CompanyGroupInfo
    {
        public CompanyGroupInfo()
        {
            sCompanyGroupRole = new CompanyGroupRoleInfo();
        }

        /// <summary>
        /// 索引ID
        /// </summary>
        public int iCompanyGroupPKID { get; set; }
        /// <summary>
        /// 单位组ID
        /// </summary>
        public string sGroupID { get; set; }
        /// <summary>
        /// 所属管理中心ID
        /// </summary>
        public string sBureauID { get; set; }
        /// <summary>
        /// 单位组名称
        /// </summary>
        public string sGroupName { get; set; }
        /// <summary>
        /// 单位组路径
        /// </summary>
        public string sGroupPath { get; set; }
        /// <summary>
        /// 描述
        /// </summary>
        public string sDescription { get; set; }
        /// <summary>
        /// 是否已经上传
        /// </summary>
        public bool bHasSent { get; set; }
        /// <summary>
        /// 是否有被删除标志
        /// </summary>
        public bool bIsDeleted { get; set; }
        /// <summary>
        /// 所属管理组ID:tAccountGroup/iAccountGroupID
        /// </summary>
        public int iAdminID { get; set; }
        /// <summary>
        /// 管理权限
        /// </summary>
        public CompanyGroupRoleInfo sCompanyGroupRole { get; set; }
    }

    /// <summary>
    /// 用户权限集模型
    /// </summary>
    [Serializable]
    public class CompanyGroupRoleInfo
    {
        /// <summary>
        /// 构造
        /// </summary>
        public CompanyGroupRoleInfo()
        {
            //初始值
            AllowCaseAdd = false;
            AllowCaseDelete = false;
            AllowCaseEdit = false;
            AllowCaseExport = false;
            AllowCaseImport = false;
            AllowCaseList = true;
            AllowCaseShow = true;

            AllowCaseSpecialAdd = false;
            AllowCaseSpecialDelete = false;
            AllowCaseSpecialEdit = false;
            AllowCaseSpecialExport = false;
            AllowCaseSpecialImport = false;
            AllowCaseSpecialList = true;
            AllowCaseSpecialShow = true;

            AllowCcicCtrlAdd = false;
            AllowCcicCtrlDelete = false;
            AllowCcicCtrlEdit = false;
            AllowCcicCtrlExport = false;
            AllowCcicCtrlImport = false;
            AllowCcicCtrlList = true;
            AllowCcicCtrlShow = true;

            AllowCCICAdd = false;
            AllowCCICDelete = false;
            AllowCCICEdit = false;
            AllowCCICExport = false;
            AllowCCICImport = false;
            AllowCCICList = true;
            AllowCCICShow = true;

            AllowCompanyAdd = false;
            AllowCompanyDelete = false;
            AllowCompanyEdit = false;
            AllowCompanyExport = false;
            AllowCompanyImport = false;
            AllowCompanyList = true;
            AllowCompanyShow = true;
            AllowCompanyAudit = true;

            AllowCompanyGroupAdd = false;
            AllowCompanyGroupDelete = false;
            AllowCompanyGroupEdit = false;
            AllowCompanyGroupExport = false;
            AllowCompanyGroupImport = false;
            AllowCompanyGroupList = true;
            AllowCompanyGroupShow = true;

            AllowPolicyAlarmAdd = false;
            AllowPolicyAlarmDelete = false;
            AllowPolicyAlarmEdit = false;
            AllowPolicyAlarmExport = false;
            AllowPolicyAlarmImport = false;
            AllowPolicyAlarmList = true;
            AllowPolicyAlarmShow = true;

            AllowPolicyAuditAdd = false;
            AllowPolicyAuditDelete = false;
            AllowPolicyAuditEdit = false;
            AllowPolicyAuditExport = false;
            AllowPolicyAuditImport = false;
            AllowPolicyAuditList = false;
            AllowPolicyAuditShow = false;

            AllowPolicyAdd = false;
            AllowPolicyDelete = false;
            AllowPolicyEdit = false;
            AllowPolicyExport = false;
            AllowPolicyImport = false;
            AllowPolicyList = true;
            AllowPolicyShow = true;

            AllowSmsAddressAdd = true;
            AllowSmsAddressDelete = true;
            AllowSmsAddressEdit = true;
            AllowSmsAddressExport = true;
            AllowSmsAddressImport = true;
            AllowSmsAddressShow = true;

            AllowSmsContentEdit = false;
            AllowSmsContentShow = false;

            AllowSmsGroupAdd = false;
            AllowSmsGroupDelete = false;
            AllowSmsGroupEdit = false;
            AllowSmsGroupExport = false;
            AllowSmsGroupImport = false;
            AllowSmsGroupShow = false;

            AllowSmsSetupEdit = false;
            AllowSmsSetupShow = false;

            AllowChart = true;
            AllowChartExport = true;
            AllowStat = true;
            AllowStatExport = true;
            AllowStatTrack = true;
            AllowStatTrackExport = true;

            AllowSystemAccount = false;
            AllowSystemAccountAdd = false;
            AllowSystemAccountDelete = false;
            AllowSystemAccountEdit = false;
            AllowSystemAlarm = false;
            AllowSystemChangePassword = true;
            AllowSystemConfig = false;
            AllowSystemDic = false;
            AllowSystemMenu = false;
            AllowSystemRole = false;

            AllowVisit = true;
            AllowSearch = true;
            AllowSystemTask = false;

            AllowUserExport = false;
            AllowUserList = true;
            AllowUserShow = true;

            AllowPmAdd = true;
            AllowPmList = true;
            AllowPmShow = true;
            AllowPmOp = true;

            AllowSystemAnnounce = false;
        }

        #region 公共部分
        /// <summary>
        /// 允许访问
        /// </summary>
        public bool AllowVisit { get; set; }
        /// <summary>
        /// 允许搜索
        /// </summary>
        public bool AllowSearch { get; set; }
        /// <summary>
        /// 允许使用警方提示
        /// </summary>
        public bool AllowSystemAlarm { get; set; }

        #endregion

        #region 系统管理
        /// <summary>
        /// 允许使用账号管理
        /// </summary>
        public bool AllowSystemAccount { get; set; }
        /// <summary>
        /// 允许新增账号
        /// </summary>
        public bool AllowSystemAccountAdd { get; set; }
        /// <summary>
        /// 允许编辑账号
        /// </summary>
        public bool AllowSystemAccountEdit { get; set; }
        /// <summary>
        /// 允许删除账号
        /// </summary>
        public bool AllowSystemAccountDelete { get; set; }
        /// <summary>
        /// 允许使用系统配置
        /// </summary>
        public bool AllowSystemConfig { get; set; }
        /// <summary>
        /// 允许使用修改密码
        /// </summary>
        public bool AllowSystemChangePassword { get; set; }
        /// <summary>
        /// 允许使用菜单配置
        /// </summary>
        public bool AllowSystemMenu { get; set; }
        /// <summary>
        /// 允许使用权限管理
        /// </summary>
        public bool AllowSystemRole { get; set; }
        /// <summary>
        /// 允许使用数据字典管理
        /// </summary>
        public bool AllowSystemDic { get; set; }
        /// <summary>
        /// 允许使用计划任务
        /// </summary>
        public bool AllowSystemTask { get; set; }
        /// <summary>
        /// 允许使用公告信息
        /// </summary>
        public bool AllowSystemAnnounce { get; set; }

        #endregion

        #region 单位
        /// <summary>
        /// 允许查看单位列表
        /// </summary>
        public bool AllowCompanyList { get; set; }
        /// <summary>
        /// 允许查看单位信息
        /// </summary>
        public bool AllowCompanyShow { get; set; }
        /// <summary>
        /// 允许新增单位
        /// </summary>
        public bool AllowCompanyAdd { get; set; }
        /// <summary>
        /// 允许批量导入单位
        /// </summary>
        public bool AllowCompanyImport { get; set; }
        /// <summary>
        /// 允许批量导出单位
        /// </summary>
        public bool AllowCompanyExport { get; set; }
        /// <summary>
        /// 允许编辑单位
        /// </summary>
        public bool AllowCompanyEdit { get; set; }
        /// <summary>
        /// 允许删除单位
        /// </summary>
        public bool AllowCompanyDelete { get; set; }
        /// <summary>
        /// 允许审核单位
        /// </summary>
        public bool AllowCompanyAudit { get; set; }

        #endregion

        #region 单位分组
        /// <summary>
        /// 允许查看单位分组列表
        /// </summary>
        public bool AllowCompanyGroupList { get; set; }
        /// <summary>
        /// 允许查看单位分组信息
        /// </summary>
        public bool AllowCompanyGroupShow { get; set; }
        /// <summary>
        /// 允许新增单位分组
        /// </summary>
        public bool AllowCompanyGroupAdd { get; set; }
        /// <summary>
        /// 允许编辑单位分组
        /// </summary>
        public bool AllowCompanyGroupEdit { get; set; }
        /// <summary>
        /// 允许批量导入单位分组
        /// </summary>
        public bool AllowCompanyGroupImport { get; set; }
        /// <summary>
        /// 允许删除单位分组
        /// </summary>
        public bool AllowCompanyGroupDelete { get; set; }
        /// <summary>
        /// 允许批量导出单位分组
        /// </summary>
        public bool AllowCompanyGroupExport { get; set; }

        #endregion

        #region 布控策略

        /// <summary>
        /// 允许查看布控策略列表
        /// </summary>
        public bool AllowPolicyList { get; set; }
        /// <summary>
        /// 允许查看布控策略信息
        /// </summary>
        public bool AllowPolicyShow { get; set; }
        /// <summary>
        /// 允许新增布控策略
        /// </summary>
        public bool AllowPolicyAdd { get; set; }
        /// <summary>
        /// 允许编辑布控策略
        /// </summary>
        public bool AllowPolicyEdit { get; set; }
        /// <summary>
        /// 允许批量导入布控策略
        /// </summary>
        public bool AllowPolicyImport { get; set; }
        /// <summary>
        /// 允许删除布控策略
        /// </summary>
        public bool AllowPolicyDelete { get; set; }
        /// <summary>
        /// 允许批量导出布控策略
        /// </summary>
        public bool AllowPolicyExport { get; set; }
        #endregion

        #region 布控报警

        /// <summary>
        /// 允许查看布控报警列表
        /// </summary>
        public bool AllowPolicyAlarmList { get; set; }
        /// <summary>
        /// 允许查看布控报警信息
        /// </summary>
        public bool AllowPolicyAlarmShow { get; set; }
        /// <summary>
        /// 允许新增布控报警
        /// </summary>
        public bool AllowPolicyAlarmAdd { get; set; }
        /// <summary>
        /// 允许编辑布控报警
        /// </summary>
        public bool AllowPolicyAlarmEdit { get; set; }
        /// <summary>
        /// 允许批量导入布控报警
        /// </summary>
        public bool AllowPolicyAlarmImport { get; set; }
        /// <summary>
        /// 允许删除布控报警
        /// </summary>
        public bool AllowPolicyAlarmDelete { get; set; }
        /// <summary>
        /// 允许批量导出布控报警
        /// </summary>
        public bool AllowPolicyAlarmExport { get; set; }
        #endregion

        #region 布控审计

        /// <summary>
        /// 允许查看布控审计列表
        /// </summary>
        public bool AllowPolicyAuditList { get; set; }
        /// <summary>
        /// 允许查看布控审计信息
        /// </summary>
        public bool AllowPolicyAuditShow { get; set; }
        /// <summary>
        /// 允许新增布控审计
        /// </summary>
        public bool AllowPolicyAuditAdd { get; set; }
        /// <summary>
        /// 允许编辑布控审计
        /// </summary>
        public bool AllowPolicyAuditEdit { get; set; }
        /// <summary>
        /// 允许批量导入布控审计
        /// </summary>
        public bool AllowPolicyAuditImport { get; set; }
        /// <summary>
        /// 允许删除布控审计
        /// </summary>
        public bool AllowPolicyAuditDelete { get; set; }
        /// <summary>
        /// 允许批量导出布控审计
        /// </summary>
        public bool AllowPolicyAuditExport { get; set; }
        #endregion

        #region 案件管理

        /// <summary>
        /// 允许查看案件管理列表
        /// </summary>
        public bool AllowCaseList { get; set; }
        /// <summary>
        /// 允许查看案件管理信息
        /// </summary>
        public bool AllowCaseShow { get; set; }
        /// <summary>
        /// 允许新增案件管理
        /// </summary>
        public bool AllowCaseAdd { get; set; }
        /// <summary>
        /// 允许编辑案件管理
        /// </summary>
        public bool AllowCaseEdit { get; set; }
        /// <summary>
        /// 允许批量导入案件管理
        /// </summary>
        public bool AllowCaseImport { get; set; }
        /// <summary>
        /// 允许删除案件管理
        /// </summary>
        public bool AllowCaseDelete { get; set; }
        /// <summary>
        /// 允许批量导出案件管理
        /// </summary>
        public bool AllowCaseExport { get; set; }
        #endregion

        #region 专题管理

        /// <summary>
        /// 允许查看专题管理列表
        /// </summary>
        public bool AllowCaseSpecialList { get; set; }
        /// <summary>
        /// 允许查看专题管理信息
        /// </summary>
        public bool AllowCaseSpecialShow { get; set; }
        /// <summary>
        /// 允许新增专题管理
        /// </summary>
        public bool AllowCaseSpecialAdd { get; set; }
        /// <summary>
        /// 允许编辑专题管理
        /// </summary>
        public bool AllowCaseSpecialEdit { get; set; }
        /// <summary>
        /// 允许批量导入专题管理
        /// </summary>
        public bool AllowCaseSpecialImport { get; set; }
        /// <summary>
        /// 允许删除专题管理
        /// </summary>
        public bool AllowCaseSpecialDelete { get; set; }
        /// <summary>
        /// 允许批量导出专题管理
        /// </summary>
        public bool AllowCaseSpecialExport { get; set; }
        #endregion

        #region CCIC报警

        /// <summary>
        /// 允许查看CCIC报警列表
        /// </summary>
        public bool AllowCCICList { get; set; }
        /// <summary>
        /// 允许查看CCIC报警信息
        /// </summary>
        public bool AllowCCICShow { get; set; }
        /// <summary>
        /// 允许新增CCIC报警
        /// </summary>
        public bool AllowCCICAdd { get; set; }
        /// <summary>
        /// 允许编辑CCIC报警
        /// </summary>
        public bool AllowCCICEdit { get; set; }
        /// <summary>
        /// 允许批量导入CCIC报警
        /// </summary>
        public bool AllowCCICImport { get; set; }
        /// <summary>
        /// 允许删除CCIC报警
        /// </summary>
        public bool AllowCCICDelete { get; set; }
        /// <summary>
        /// 允许批量导出CCIC报警
        /// </summary>
        public bool AllowCCICExport { get; set; }
        #endregion

        #region 辑控库报警
        /// <summary>
        /// 允许查看辑控库报警列表
        /// </summary>
        public bool AllowCcicCtrlList { get; set; }
        /// <summary>
        /// 允许查看辑控库报警信息
        /// </summary>
        public bool AllowCcicCtrlShow { get; set; }
        /// <summary>
        /// 允许新增辑控库报警
        /// </summary>
        public bool AllowCcicCtrlAdd { get; set; }
        /// <summary>
        /// 允许编辑辑控库报警
        /// </summary>
        public bool AllowCcicCtrlEdit { get; set; }
        /// <summary>
        /// 允许批量导入辑控库报警
        /// </summary>
        public bool AllowCcicCtrlImport { get; set; }
        /// <summary>
        /// 允许删除辑控库报警
        /// </summary>
        public bool AllowCcicCtrlDelete { get; set; }
        /// <summary>
        /// 允许批量导出辑控库报警
        /// </summary>
        public bool AllowCcicCtrlExport { get; set; }
        #endregion

        #region 短信机

        /// <summary>
        /// 允许查看短信机设置
        /// </summary>
        public bool AllowSmsSetupShow { get; set; }
        /// <summary>
        /// 允许修改短信机设置
        /// </summary>
        public bool AllowSmsSetupEdit { get; set; }
        /// <summary>
        /// 允许查看短信机通讯录
        /// </summary>
        public bool AllowSmsAddressShow { get; set; }
        /// <summary>
        /// 允许新增短信机通讯录
        /// </summary>
        public bool AllowSmsAddressAdd { get; set; }
        /// <summary>
        /// 允许编辑短信机通讯录
        /// </summary>
        public bool AllowSmsAddressEdit { get; set; }
        /// <summary>
        /// 允许删除短信机通讯录
        /// </summary>
        public bool AllowSmsAddressDelete { get; set; }
        /// <summary>
        /// 允许导入短信机通讯录
        /// </summary>
        public bool AllowSmsAddressImport { get; set; }
        /// <summary>
        /// 允许导出短信机通讯录
        /// </summary>
        public bool AllowSmsAddressExport { get; set; }
        /// <summary>
        /// 允许查看短信机号码分组
        /// </summary>
        public bool AllowSmsGroupShow { get; set; }
        /// <summary>
        /// 允许新增短信机号码分组
        /// </summary>
        public bool AllowSmsGroupAdd { get; set; }
        /// <summary>
        /// 允许修改短信机号码分组
        /// </summary>
        public bool AllowSmsGroupEdit { get; set; }
        /// <summary>
        /// 允许删除短信机号码分组
        /// </summary>
        public bool AllowSmsGroupDelete { get; set; }
        /// <summary>
        /// 允许导入短信机号码分组
        /// </summary>
        public bool AllowSmsGroupImport { get; set; }
        /// <summary>
        /// 允许导出短信机号码分组
        /// </summary>
        public bool AllowSmsGroupExport { get; set; }
        /// <summary>
        /// 允许查看短信机内容设置
        /// </summary>
        public bool AllowSmsContentShow { get; set; }
        /// <summary>
        /// 允许编辑短信机内容设置
        /// </summary>
        public bool AllowSmsContentEdit { get; set; }

        #endregion

        #region 查询统计

        /// <summary>
        /// 允许使用统计
        /// </summary>
        public bool AllowStat { get; set; }
        /// <summary>
        /// 允许使用统计导出
        /// </summary>
        public bool AllowStatExport { get; set; }
        /// <summary>
        /// 允许使用轨迹
        /// </summary>
        public bool AllowStatTrack { get; set; }
        /// <summary>
        /// 允许使用轨迹导出
        /// </summary>
        public bool AllowStatTrackExport { get; set; }
        /// <summary>
        /// 允许使用报表
        /// </summary>
        public bool AllowChart { get; set; }
        /// <summary>
        /// 允许使用报表导出
        /// </summary>
        public bool AllowChartExport { get; set; }

        #endregion

        #region 人员与访客
        /// <summary>
        /// 允许使用人员访客导出
        /// </summary>
        public bool AllowUserExport { get; set; }
        /// <summary>
        /// 允许使用人员访客列表
        /// </summary>
        public bool AllowUserList { get; set; }
        /// <summary>
        /// 允许使用人员访客详细
        /// </summary>
        public bool AllowUserShow { get; set; }
        #endregion

        #region 实时信息
        /// <summary>
        /// 允许使用实时信息发送
        /// </summary>
        public bool AllowPmAdd { get; set; }
        /// <summary>
        /// 允许使用实时信息列表
        /// </summary>
        public bool AllowPmList { get; set; }
        /// <summary>
        /// 允许使用实时信息详细
        /// </summary>
        public bool AllowPmShow { get; set; }
        /// <summary>
        /// 允许使用实时信息操作
        /// </summary>
        public bool AllowPmOp { get; set; }
        #endregion

    }
}
